package cn.shenlong.portal.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;

import cn.shenlong.mybatis.BaseMapper;
import cn.shenlong.portal.domain.Application;

public interface ApplicationMapper extends BaseMapper<Application> {

	/**
	 * 根据应用类型，获取导航条信息或版位信息
	 * 
	 * @param applicationType
	 *            应用类型 1：导航条信息 2：版位信息
	 * @return
	 */
	@Select("select t.* from T_DC_APPLICATION t where t.APPLICATION_TYPE=#{applicationType} and t.DATAFLG=1")
	@ResultMap("BaseResultMap")
	public List<Application> getNaOrLa(Long applicationType);

	/**
	 * 根据应用类型，获取导航条信息或版位信息
	 * 
	 * @param applicationType
	 *            应用类型 1：导航条信息 2：版位信息
	 * @param priority
	 *            排列顺序
	 * @return
	 */
	@Select("select t.* from T_DC_APPLICATION t where t.APPLICATION_TYPE=#{applicationType} and t.PRIORITY=#{priority} and t.DATAFLG=1")
	@ResultMap("BaseResultMap")
	public List<Application> getNaOrLaByPriority(
			@Param("applicationType") Long applicationType,
			@Param("priority") Long priority);

	/**
	 * 根据应用类型，获取导航条信息或版位信息
	 * 
	 * @param type
	 *            应用类型 1：导航条信息 2：版位信息
	 * @param channelId
	 *            栏目ID
	 * @return
	 */
	@Select("select t.* from T_DC_APPLICATION t where t.APPLICATION_TYPE=#{applicationType} and t.CHANNEL_ID=#{channelId} and t.DATAFLG=1")
	@ResultMap("BaseResultMap")
	public List<Application> getNaOrLaByChannelId(
			@Param("applicationType") Long applicationType,
			@Param("channelId") Long channelId);
}
